import cv2
import numpy as np

def drawfindLines_Hough(img, lines, P = 0):

    for i in lines:
        for rho, theta in i:
            a = np.cos(theta)
            b = np.sin(theta)
            x0 = a * rho
            y0 = b * rho
            x1 = int(x0 + 1000 * (-b))
            y1 = int(y0 + 1000 * (a))
            x2 = int(x0 - 1000 * (-b))
            y2 = int(y0 - 1000 * (a))
            cv2.line(img, (x1, y1), (x2, y2), (0, 0, 255), 1)
            print('rho = ' + str(rho) + '  theta = ' + str(theta)+'  ('+str(x0)+','+str(y0)+')')

img = cv2.imread('Road1.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 50, 150, apertureSize = 3)

lines = cv2.HoughLines(edges, 1, np.pi/180, 250)
drawfindLines_Hough(img, lines, 0)

cv2.imshow('Line', img)
cv2.waitKey()
cv2.destroyAllWindows()